package com.danbay.cloud.lock.device.api.service;

import com.danbay.cloud.lock.device.api.dto.*;
import com.danbay.framework.exception.BusinessException;
import com.danbay.framework.springnc.annotation.AutoController;
import com.danbay.framework.springnc.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 设备-门锁 设备上报服务接口
 * @author yangyanchen on 2017/12/15
 *         Copyright © 2016 －2017 旦倍科技
 */
@AutoController
@RequestMapping(value = "/device-lock-service")
public interface IDeviceInfoReportDataService {

    /**
     * 门锁的开门信息上报
     * @param openDoorReportDto 数据包
     * @throws BusinessException 业务异常
     */
    @RequestMapping(value = "/openDoorReport")
    void openDoorReport(@RequestBody OpenDoorReportDto openDoorReportDto) throws BusinessException;

    @RequestMapping(value = "/warningReport")
    void warningReport(@RequestBody WarningReportDto warningReportDto) throws BusinessException;

    @RequestMapping(value = "/accessReport")
    void accessReport(@RequestBody AccessReportDto accessReportDto) throws BusinessException;

//    @RequestMapping(value = "/tongueReport")
//    void tongueReport() throws BusinessException;

    @RequestMapping(value = "/dataSyncReport")
    void dataSyncReport(@RequestBody DataSyncReportDto dataSyncReportDto) throws BusinessException;

    @RequestMapping(value = "/getAliasReport")
    void getAlias(@RequestBody AliasDto aliasDto) throws BusinessException;

    @RequestMapping(value = "/aliasResultReport")
    void aliasResultReport(@RequestBody AliasResultDto aliasResultDto) throws BusinessException;
}
